﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using GameEngine.Scenes;

namespace GameEngine.animations
{
    public class DetailAnimationComposed: DetailAnimation
    {
        #region Attributes
        public List<Animation> childAnimations;
        #endregion
        #region Constructors

        public DetailAnimationComposed(Actor actor, string name, Animation animation, List<Animation> childAnimations, int freqFrame, int fromFrame, int untilFrame, bool mirroredHor, bool mirroredVer):
            base(actor, name, animation, freqFrame, fromFrame, untilFrame, mirroredHor, mirroredVer)
        {
            this.childAnimations = childAnimations;
        }
        public DetailAnimationComposed(Actor actor, string name, Animation animation, int freqFrame, int fromFrame, int untilFrame, bool mirroredHor, bool mirroredVer):
            base(actor, name, animation, freqFrame, fromFrame, untilFrame, mirroredHor, mirroredVer)
        {

        }
        public DetailAnimationComposed(Actor actor, string name, Animation animation, int freqFrame, int fromFrame, int untilFrame):
            base(actor, name, animation, freqFrame, fromFrame, untilFrame,false,false)
        {
        
        }
        public DetailAnimationComposed(Actor actor, string name, Animation animation, int freqFrame) :
            base(actor,name,animation,freqFrame,0,animation.totalFrames-1)
        {
            
        }
        public DetailAnimationComposed(Actor actor, string name, Animation animation)
            : base(actor, name, animation, AnimationDefaultFrameTime)
        {

        }
        public DetailAnimationComposed() { } //only for clone usage
        #endregion
        #region ICloneable Members

        public override object Clone()
        {
            DetailAnimationComposed newDetailAnimationComposed = (DetailAnimationComposed)base.Clone();
            newDetailAnimationComposed.childAnimations = this.childAnimations;
            return newDetailAnimationComposed;
        }

        #endregion
    }
}
